package com.zhz.system.contract.request;

import com.zhz.common.tool.mybatisplus.base.core.contract.BaseRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

/**
 * 权限更新请求
 *
 * @author zhouhengzhe
 * @date 2023/3/30
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
@EqualsAndHashCode(callSuper = true)
public class PermissionUpdateRequest extends BaseRequest {

    /**
     * ---------------权限相关开始----------------
     */

    @ApiModelProperty("权限描述")
    private String description;

    @ApiModelProperty("权限名称")
    private String name;

    @ApiModelProperty("权限类型 1为菜单 2为功能 3为API")
    private Byte type;

    @ApiModelProperty("主键")
    private String pid;

    @ApiModelProperty("code码")
    private String code;

    @ApiModelProperty("企业可见性 0：不可见，1：可见")
    private Integer enVisible;
    /**
     * ---------------权限相关结束----------------
     */

    /**
     * -------------菜单开始----------
     */
    @ApiModelProperty("菜单图标")
    private String menuIcon;

    @ApiModelProperty("菜单排序")
    private String menuOrder;
    /**
     * -------------菜单结束----------
     */

    /**
     * -------------权限按钮开始----------
     */

    @ApiModelProperty("按钮类型")
    private String pointClass;

    @ApiModelProperty("按钮icon")
    private String pointIcon;

    @ApiModelProperty("状态")
    private Integer pointStatus;
    /**
     * -------------权限按钮结束---------
     */

    /**
     * ----------- 权限api 开始-------------
     */

    @ApiModelProperty("权限等级，1为通用接口权限，2为需校验接口权限")
    private String apiLevel;

    @ApiModelProperty("请求类型")
    private String apiMethod;

    @ApiModelProperty("链接")
    private String apiUrl;
    /**
     *----------- 权限api 结束-------------
     */
}
